技术博客INFO
联系我们CONTACT

公司地址:茂名市人民南路新村大院22号101

电话:13592986386

前后台传递中文编码解码(解决乱码)您当前的位置:首页 > 前后台传递中文编码解码(解决乱码)

前后台传递中文编码解码(解决乱码)

发布时间:2018/10/18 17:34:09

前台JS 和后台C#端传递中文


JavaScript encodeURI() 函数

定义和用法

encodeURI() 函数可把字符串作为 URI 进行编码。


1. js url = encodeURI(encodeURI(url)) c#后台string txtID = System.Web.HttpUtility.UrlDecode(request["TxtID"]);

这种方式得到的非常正确。

前台JS encodeURI(cYiYuanName)

后台C# cYiYuanName = System.Web.HttpUtility.UrlDecode(cYiYuanName, System.Text.Encoding.GetEncoding("utf-8"));



2.js url = "Table.aspx?TxtID="+escape(escape(str))

c#后台string txtID = System.Web.HttpUtility.UrlDecode(Request["TxtID"]);

这种方式得到的字符之间空格是规律乱码,我需要拆分空格的字符串,空格乱码刚好用到,我使用的是这种方式。

2、JS代码和C#代码

>> 进行传递

function GoUrl() {

    var Name = "中文参数";

    location.href = "B.aspx?Name="+escape(Name);

}

>> 进行接收

string Name = Request.QueryString["Name"];

Response.Write(Server.UrlDecode(Name));





==========================================================================

后台C#端传递中文到另外一个页面

传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。

1、C#代码

>> 进行传递

string Name = "中文参数";

Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));

>> 进行接收

string Name = Request.QueryString["Name"];

Response.Write(Server.UrlDecode(Name));